package br.com.graficafuxico.dao;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;

import br.com.graficafuxico.modelo.Usuario;

public class UsuarioDao {

	private Session session;
	
	public UsuarioDao(Session session)
	{
		this.session=session;
	}
	
	public void adiciona(Usuario usuario)
	{
		session.save(usuario);
		session.getTransaction().commit();
	}
	
	public List<Usuario> lista()
	{
		return session.createCriteria(Usuario.class).list();
	}
	
	public void altera(Usuario usuario)
	{
		session.update(usuario);
		session.getTransaction().commit();
	}
	
	public void remover(Usuario usuario) throws HibernateException
	{
		session.delete(usuario);
		session.getTransaction().commit();
	}
	
	public Usuario verifica(Usuario usuario) throws HibernateException
	{
		Query query = this.session.createQuery("SELECT nome from Usuario"+
				" where nome = :nome and senha = :senha");
				query.setString("nome", usuario.getNome());
				query.setString("senha", usuario.getSenha());
				
			
	    Usuario user = (Usuario) query.uniqueResult();	
	    return user;
	}
	
}
